// 1.引包
// 注意：安装后才能require使用
var mongoose = require('mongoose');

const config = require('./config.js');

// 拿到schema图表
var Schema = mongoose.Schema;

// 2.连接数据库
// 指定连接数据库后不需要存在，当你插入第一条数据库后会自动创建数据库
mongoose.connect(config.url, {
    useNewUrlParser: true,
    useUnifiedTopology: true
}, function (err) {
    if (err) {
        console.log('DB Connection Error:' + err)

    } else {
        console.log('DB Connection success!')
    }

});

// 3.设计集合结构（表结构）
// 用户表
var msgSchema = new Schema({
    name: { //姓名
        type: String,
        require: true //添加约束，保证数据的完整性，让数据按规矩统一
    },
    content: {
        type: String,
        require: true
    },
    color: {
        type: String
    },
    time: {
        type: String
    }
});

// 4.将文档结构发布为模型
// mongoose.model方法就是用来将一个架构发布为 model
// 		第一个参数：传入一个大写名词单数字符串用来表示你的数据库的名称
// 					mongoose 会自动将大写名词的字符串生成 小写复数 的集合名称
// 					例如 这里会变成users集合名称
// 		第二个参数：架构
// 	返回值：模型构造函数
var Msg = mongoose.model('Msg', msgSchema);






// 增
exports.add = function add(data) {
    var msg = new Msg(data);

    msg.save(function (err, ret) {
        if (err) {
            console.log('保存失败');
        } else {
            console.log('保存成功');
        }
    });
}



// 查
exports.findAll = function findAll(callback) {
    // 查询所有
    Msg.find(function (err, ret) {
        if (err) {
            console.log('查询失败');
            callback([]);
        } else {
            console.log('查询成功');
            callback(ret);
        }
    });
}